home *** CD-ROM | disk | FTP | other *** search
/ NetNews Offline 2 / NetNews Offline Volume 2.iso / news / comp / lang / c++-part2 / 11545 < prev    next >
Encoding:
Internet Message Format  |  1996-08-05  |  5.1 KB

  1. Path: ra.nrl.navy.mil!usenet
  2. From: pitre@n5160d.nrl.navy.mil (Richard Pitre)
  3. Newsgroups: comp.lang.c++
  4. Subject: Re: Beware of "C" Hackers -- A rebuttal to Bertrand Meyer
  5. Date: 15 Mar 1996 00:09:32 GMT
  6. Organization: Naval Research Laboratory
  7. Message-ID: <4iacfs$pfm@ra.nrl.navy.mil>
  8. References: <4i9u0l$vru@saba.info.ucla.edu>
  9. NNTP-Posting-Host: n5160d.nrl.navy.mil
  10.  
  11. In article <4i9u0l$vru@saba.info.ucla.edu> jmartin@cs.ucla.edu (Jay Martin)  
  12. writes:
  13. > seebs@solutions.solon.com (Peter Seebach) writes:
  14. > >In article <4i862r$1evq@saba.info.ucla.edu>,
  15. > >Jay Martin <jmartin@cs.ucla.edu> wrote:
  16. > >>No "hacking" is broader than that, it is writing poor code period.
  17. > >Bullshit.  Read the jargon file.
  18. > Your jargon file is bullshit (obsolete).  Comes from primitive times
  19. > when coding wizardry was cool.  Anything with "hack" in it is now at
  20. > best ambiguous (can mean cracking,etc) and mostly negative.  The
  21. > meaning of hacking and hackers in this discussion is "anti-software
  22. > engineering/ good programming practices".  I wouldn't put "hack" on
  23. > resumes.
  24. > >And for good reason.  The key point is that, if the C programmer were the
  25. > >one talking about design concepts, and the Eiffel programmer were talking
  26. > >about cool optimizations she learned for the implementation she used, you'd
  27. > >hire the C programmer.
  28. > Yup, but its probably really hard to find "hacker" Eiffel programmers.
  29. > >>To demonstrate the "C hacker culture" (filed under macho attitudes)
  30. > >>here's a random recent example:
  31. > >>rmartin@oma.com (Robert C. Martin) writes:
  32. > >>>No, I disagree with your point.  It is not the responsibility of the
  33. > >>>language to make the engineer better.  It is the responsibility of the
  34. > >>>engineer to become adept at the language.
  35. > >>Clear demonstration of views that have left software engineering
  36. > >>and entered the "C Hacker Zone".
  37. > >No, it's a philosophical distinction.
  38. > Don't see the difference between "C Hacker culture" and "C Hacker  
  39. philosophy".
  40. > >I agree with him; it is *impossible*
  41. > >to make someone think in high level terms.  A bad programmer will make
  42. > >design and stylistic errors in Ada, too.  Languages can prevent typos, and
  43. > >low-level errors.  They cannot prevent stupid design.  (Unless Ada can
  44. > >detect bubblesort, and optimize it into something better?)
  45. > No they can't, but good tools should give all the help they can.
  46. > Its this black/white macho "I don't need no stinking checking",
  47. > "nothing is completely safe, so forget safety" is a hallmark
  48. > of the "C Hacker culture".
  49.  
  50. I am a C/C++ programmer. Some time ago I got to use Modula 2 for a bit.
  51. Thinking back on my C programming was, I would guess, somewhat like taking an  
  52. alzheimers patient on one of his better days and showing 
  53. him a film of himself on a bad day. I eventually had to abandon Modula 2  
  54. because it wasn't well supported on my machine(I eventually abandoned the  
  55. machine because I couldn't get a C compiler with really good support).  
  56. Nevertheless, I've never felt comfortable with C since that experience. 
  57. Having your code run  fresh out of the compiler a large percentage of the time  
  58. does something to your head. Returning to C was painful and no matter how much  
  59. I learned and tried to improve my methods I have never duplicated  my  
  60. performance using Modula 2. When I describe this experience to someone they  
  61. typically respond with something like, "yeah so what, I love C, Modula 2 is  
  62. ugly, and how could the compiler possibly make that much difference and I'm not  
  63. even going to look".  I love C too and Modula 2 is uglier than the devils  
  64. asshole but I have eternal respect for one N. Wirth. 
  65.  
  66. I think the problem with coding is that it is done by humans who have a very  
  67. limited ability to deal with complexity and who need all the help they can get  
  68. when dealing with an idiot savant machine that amplifies the bejeesus out of  
  69. their mistakes when they have their back turned. The situation, in this regard,  
  70. is significantly augmented with C++. When I hear people minimizing the  
  71. importance of compiler checking and cross checking because their  methods and  
  72. auxillary tools have it covered I want to laugh, but I can't because its too  
  73. serious.  Code is too often subtle and programmers are too often tired. I'm not  
  74. really bashing C++. It is an excellent precision professional tool for highly  
  75. disciplined programmers and I believe that it is the essential tool for some  
  76. applications.  For my needs, I would switch out of C++ in a heartbeat if there  
  77. was a real alternative. All of the alternatives that I know of involve some  
  78. significant compromise one way or another. I'm having a serious look at Ada now  
  79. that I found out about the GNU version(GNAT) and that Ada95 is an actual ANSI  
  80. standard. 
  81.  
  82. C++ is necessary and better but not always, everywhere, and for everyone. More  
  83. people need to do serious experiments with the alternatives instead of bashing  
  84. them. In this regard I object to most of the content of these language bashing  
  85. threads because it engenders an adversarial attitude that is detrimental to  
  86. open minded consideration of the real possibilities for writing good code.
  87.  
  88. richard
  89.  
  90.